A Parallel Virtual Machine for Bulk Synchronous Parallel ML

نویسندگان

  • Frédéric Gava
  • Frédéric Loulergue
چکیده

Bulk Synchronous Parallel ML or BSML is an extension of ML for programming direct-mode parallel Bulk Synchronous Parallel algorithms as functional programs. Bulk-Synchronous Parallel (BSP) computing is a parallel programming model introduced by Valiant [20] to offer a high degree of abstraction like PRAM models and yet allow portable and predictable performance on a wide variety of architectures. A BSP algorithm is said to be in direct mode [5] when its physical process structure is made explicit. Such algorithms offer predictable and scalable performances and BSML expresses them with a small set of primitives taken from the confluent BSλ calculus [12]: a constructor of parallel vectors, asynchronous parallel function application, synchronous global communications and a synchronous global conditional. Our BSMLlib library implements the BSML primitives using Objective Caml [10] and MPI [19]. It is efficient [11] and its performance follows curves predicted by the BSP cost model (the cost model estimates parallel execution times). This library is used as the basis for the CARAML project, which aims to use Objective Caml for Grid computing with, for example, applications to parallel databases and molecular simulation. In such a context, security is an important issue, but in order to obtain security, safety must be first achieved. An abstract machine is used for the implementation of Caml and is particular easy to prove correct w.r.t. the dynamic semantics [6]. In order to have both simple implementation and cost model that follows the BSP model, nesting of parallel vectors is not allowed. BSMLlib being a library, the programmer is responsible for this absence of nesting. This breaks the safety of our environment. A polymorphic type system and a type inference has been designed and proved correct w.r.t. a small-steps semantics.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantics of Minimally Synchronous Parallel ML

This paper presents a new functional parallel language: Minimally Synchronous Parallel ML. The execution time can then be estimated and dead-locks and indeterminism are avoided. It shares with Bulk Synchronous Parallel ML its syntax and high-level semantics but it has a minimally synchronous distributed semantics. Programs are written as usual ML programs but using a small set of additional fun...

متن کامل

BSP Functional Programming: Examples of a Cost Based Methodology

Bulk-Synchronous Parallel ML (BSML) is a functional dataparallel language for the implementation of Bulk-Synchronous Parallel (BSP) algorithms. It makes an estimation of the execution time (cost) possible. This paper presents some general examples of BSML programs and a comparison of their predicted costs with the measured execution time on a parallel machine.

متن کامل

A Parallel Categorical Abstract Machine for Bulk Synchronous Parallel ML

We have designed a functional data-parallel language called BSML for programming bulksynchronous parallel (BSP) algorithms in so-called direct mode. In a direct-mode BSP algorithm, the physical structure of processes is made explicit. The execution time can then be estimated and dead-locks and indeterminism are avoided. The BSMLlib library has been implemented for the Objective Caml language. B...

متن کامل

Implementation of the Parallel Superposition in Bulk-Synchronous Parallel ML

Bulk-Synchronous Parallel ML (BSML) is a functional dataparallel language to code Bulk-Synchronous Parallel (BSP) algorithms. It allows an estimation of execution time, avoids deadlocks and nondeterminism. This paper presents the implementation of a new primitive for BSML which can express divide-and-conquer algorithms.

متن کامل

Parallel I/O in Bulk-Synchronous Parallel ML

Bulk Synchronous Parallel ML or BSML is a functional dataparallel language for programming bulk synchronous parallel (BSP) algorithms. The execution time can be estimated and dead-locks and indeterminism are avoided. For large scale applications where parallel processing is helpful and where the total amount of data often exceeds the total main memory available, parallel disk I/O becomes a nece...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003